/*
 * Glew.h
 *
 *  Created on: 28/03/2013
 *      Author: gonzalo
 */

#ifndef PROGRAM_BUILDER_H_
#define PROGRAM_BUILDER_H_


#include <glm/glm.hpp>
#include <GL/glew.h>
#include <vector>

/*
 * Clase para compilar Shaders y crear programas
 *
 * */

class ProgramBuilder {
private:
	static void checkOpenglVersion();
	ProgramBuilder();
	virtual ~ProgramBuilder();
	ProgramBuilder(const ProgramBuilder &);
	ProgramBuilder operator= (const ProgramBuilder &);

	static std::vector<GLuint> shaders;

public:

	static void clearShaderList();
	static void loadShader(const char * shader_file,GLenum shaderType);
	static GLuint createProgram();

};

#endif /* GLEW_H_ */
